home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '93 / Hacks '93 / Inside Mac Movie Toolbox Code / mtb14.c < prev    next >
Encoding:
Text File  |  1992-10-22  |  1.1 KB  |  50 lines  |  [TEXT/KAHL]

  1. //    Copyright:    © 1992 by Apple Computer, Inc., all rights reserved.
  2.  
  3. #include "mtb.h"
  4.  
  5. pascal OSErr MyCoverProc (Movie aMovie,  RgnHandle changedRgn,
  6.                                     long refcon)
  7. {
  8.     CGrafPtr                 mPort;
  9.     GDHandle                 mGD;
  10.     
  11.     GetMovieGWorld (aMovie, &mPort, &mGD);
  12.     DiffRgn (mPort->clipRgn, changedRgn, mPort->clipRgn);
  13.     return noErr;
  14. }
  15.  
  16. pascal OSErr MyUnCoverProc (Movie aMovie,  RgnHandle changedRgn,
  17.                                      long refcon)
  18. {
  19.     CGrafPtr                 mPort, curPort;
  20.     GDHandle                 mGD, curGD;
  21.     
  22.     GetMovieGWorld (aMovie, &mPort, &mGD);
  23.     GetGWorld (&curPort, &curGD);
  24.     SetGWorld (mPort, mGD);    
  25.  
  26.     InvalRgn (changedRgn);
  27.     UnionRgn (mPort->clipRgn, changedRgn, mPort->clipRgn);
  28.     
  29.     SetGWorld (curPort, curGD);
  30.     return noErr;
  31. }
  32.  
  33. void InitCoverProcs (WindowPtr aWindow,  Movie aMovie)
  34. {
  35.     RgnHandle                 displayBounds;
  36.     GrafPtr                curPort;
  37.     
  38.     displayBounds = GetMovieDisplayBoundsRgn (aMovie);
  39.     if (displayBounds == nil) return;
  40.     
  41.     GetPort (&curPort);
  42.     SetPort (aWindow);
  43.     ClipRect (&aWindow->portRect);
  44.     DiffRgn (aWindow->clipRgn, displayBounds, aWindow->clipRgn);
  45.     DisposeRgn( displayBounds );
  46.     SetPort (curPort);
  47.     
  48.     SetMovieCoverProcs (aMovie, &MyUnCoverProc, &MyCoverProc, 0);
  49. }
  50.